package com.system.manager.common.enums.fileType;

import com.system.manager.common.entity.ExclTemplate;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;

/**
 * @Classname ExclFile
 * @Description TODO excl文件判断
 * @Date 2021/11/12 10:50
 * @Created by 杨小鹏：【241960695@qq.com】
 */
@AllArgsConstructor
@NoArgsConstructor
public enum  ExclFile implements FileType{

    ALL(".excl.xls"),
    EXCLS_FILE(".excls"),
    EXCL_FILE(".excl");

    public String exclFormat;

    @Override
    public String getFileType() {
        return "excl";
    }

    @Override
    public String getFileFormat() {
        return exclFormat;
    }

    @Override
    public boolean isValid(String fileSuffixName) {
        return ALL.getFileFormat().contains(fileSuffixName);
    }

    @Override
    public boolean equals(String fileSuffixName) {
        return this.getFileFormat().equals(fileSuffixName);
//        return false;
    }

    @Override
    public boolean isNetworkSecurity(File file) {
        return false;
    }


    @Override
    public void operation(File file) {

    }

    /**
     * 判断文件是否满足excel模板格式，只针对只有excel一行的格式
     * @param exclTemplate
     */
    public static boolean isSpecifyTemplate(ExclTemplate exclTemplate, Sheet sheet){
        return exclTemplate.isValid(sheet);
    }

    /**
     * 根据指定模板生成excl文件
     * @param exclTemplate
     */
    public static Object createTemplateExcl(ExclTemplate exclTemplate, Row row){
        return exclTemplate.createTemplateObject(row);
    }

}
